/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package engine165.renderSystem;

import graphicslib3D.*;
import helperClasses.Quaternion;

/**
 * Implements a script object that holds one instance of the script information
 * @author Matthew
 */
public class ScriptObject 
{
    private Point3D point;
    private Quaternion orientation;
    private float time;
    
    /**
     * Constructs a script object
     * @param pt location of the camera
     * @param x x-rotation of camera
     * @param y y-rotation of camera
     * @param z z-rotation of camera
     * @param time time elasped
     */
    public ScriptObject(Point3D pt, float x, float y, float z, float time)
    {
        point = pt;
        orientation = new Quaternion(x, y, z);
        this.time = time;
    }
    
    /**
     * Constructs a script object
     */
    public ScriptObject()
    {
        point = new Point3D();
        orientation = new Quaternion();
        this.time = 0;
    }
    
    /**
     * Gets the position of the camera in the script
     * @return
     */
    public Point3D getPosition()
    {
        return point;
    }
    
    /**
     * sets the position of the camera in the script
     * @param pt
     */
    public void setPosition(Point3D pt)
    {
        point = pt;
    }
    
    /**
     * Returns the quaternion derived from the script object
     * @return
     */
    public Quaternion getOrientation()
    {
        return orientation;
    }
    
    /**
     * sets the orientation
     * @param o
     */
    public void setOrientation(Quaternion o)
    {
        orientation = o;
    }
    
    /**
     * gets the time
     * @return
     */
    public float getTime()
    {
        return time;
    }
    
    /**
     * sets the time
     * @param time
     */
    public void setTime(float time)
    {
        this.time = time;
    }
}
